Part inspection system having artificial neural network

ABSTRACT

A terminal inspection system for a crimp machine includes a vision device configured to image a terminal being inspected and generate a digital image of the terminal. The terminal inspection system includes a terminal inspection module communicatively coupled to the vision device to receive the digital image of the terminal as an input image. The terminal inspection module has an anchor image. The terminal inspection module compares the input image to the anchor image and performs semantic segmentation between the input image and the anchor image to generate an output image. The output image shows differences between the input image and the anchor image to identify any potential defects.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims benefit to U.S. Patent Application No.63/303,050, filed Feb. 3, 2022, the subject matter of which is hereinincorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

The subject matter herein relates generally to terminal inspectionsystems and methods.

With the development of image processing technologies, image processingtechnologies have been applied to defect detection in manufacturedproducts. In practical applications, after one or more manufacturingsteps, parts may be imaged and the images analyzed to detect fordefects, such as prior to assembly of the part or shipment of the part.Some defects are difficult for known image processing systems toidentify. Additionally, training of the image processing system may bedifficult and time consuming. For example, training typically involvesgathering many images including both good and bad images, such as imagesof parts that do not include defects and images of parts that do havedefects, respectively. The system is trained by analyzing both the goodand bad images. However, it is not uncommon to have an insufficientnumber of images for training, such as few bad images to train thesystem with the various types of defects. The algorithm used to operatethe system for defect detection performs poorly. Accuracy of theinspection system is affected by poor training of the system.

A need remains for a robust terminal inspection system and method.

BRIEF DESCRIPTION OF THE INVENTION

In one embodiment, a terminal inspection system for a crimp machine isprovided and includes a vision device configured to image a terminalbeing inspected and generate a digital image of the terminal. Theterminal inspection system includes a terminal inspection modulecommunicatively coupled to the vision device to receive the digitalimage of the terminal as an input image. The terminal inspection modulehas an anchor image. The terminal inspection module compares the inputimage to the anchor image and performs semantic segmentation between theinput image and the anchor image to generate an output image. The outputimage shows differences between the input image and the anchor image toidentify any potential defects.

In another embodiment, a crimp machine is provided and includes an anvilhaving a terminal support surface at a crimp zone configured to supporta terminal during a crimping operation. The crimp machine includes apress that has an actuator, a ram operably coupled to the actuator, anda crimp die coupled to the ram. The actuator moves the ram in a pressingdirection during the crimping operation to move the crimp die relativeto the anvil. The crimp die has a forming surface configured to crimpthe terminal in the crimp zone during the crimping operation. The crimpmachine includes a terminal inspection system including a vision deviceand a terminal inspection module communicatively coupled to the visiondevice. The vision device is configured to image the terminal at thecrimp zone and generate a digital image of the terminal. The terminalinspection module receives the digital image of the terminal as an inputimage. The terminal inspection module has an anchor image. The terminalinspection module compares the input image to the anchor image andperforms semantic segmentation between the input image and the anchorimage to generate an output image. The output image shows differencesbetween the input image and the anchor image to identify any potentialdefects.

In a further embodiment, a terminal inspection method is provided andincludes imaging a terminal using a vision device to generate an inputimage. The terminal inspection method compares the input image to ananchor image. The terminal inspection method performs semanticsegmentation between the input image and the anchor image. The terminalinspection method generates an output image to show differences betweenthe input image and the anchor image to identify any potential defects.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a part inspection system in accordance with anexemplary embodiment.

FIG. 2 is a perspective view of the terminal inspection system inaccordance with an exemplary embodiment.

FIG. 3 illustrates an anchor image of the crimp zone in accordance withan exemplary embodiment.

FIG. 4 illustrates a “bad” input image of the crimp zone in accordancewith an exemplary embodiment showing a defect in the form of a foreignobject in the crimp barrel of the terminal.

FIG. 5 illustrates a “bad” input image of the crimp zone in accordancewith an exemplary embodiment showing a defect in the form of theterminal improperly positioned in the crimp zone.

FIG. 6 illustrates a “bad” input image of the crimp zone in accordancewith an exemplary embodiment showing a defect in the form of animproperly shaped terminal in the crimp zone.

FIG. 7 is a schematic illustration of the terminal inspection module inaccordance with an exemplary embodiment.

FIG. 8 illustrates a training data set for training the terminalinspection module using the image comparison tool in accordance with anexemplary embodiment.

FIG. 9 illustrates a training data set for training the terminalinspection module using the image comparison tool in accordance with anexemplary embodiment.

FIG. 10 illustrates a training data set for training the terminalinspection module using the image comparison tool in accordance with anexemplary embodiment.

FIG. 11 illustrates a training data set for training the terminalinspection module using the image comparison tool in accordance with anexemplary embodiment.

FIG. 12 illustrates a training data set \ for training the terminalinspection module \ using the image comparison tool in accordance withan exemplary embodiment.

FIG. 13 is a flow chart of a terminal inspection method in accordancewith an exemplary embodiment.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a part inspection system 100 in accordance with anexemplary embodiment. The part inspection system 100 is used to inspectparts 102 for defects, such as defects with the part itself or defectswith loading or positioning of the part in a processing machine. In anexemplary embodiment, the part inspection system 100 is a visioninspection system using one or more processors to analyze digital imagesof the part 102 for defects. In an exemplary embodiment, the partinspection system 100 uses an artificial neural network architecture fordefect detection.

In an exemplary embodiment, the part inspection system 100 compares thedigital image of the part (for example, input image) to an anchor image(for example, baseline or template or “good” image). The part inspectionsystem 100 generates an output image to show defects, if any arepresent. For example, the output image may highlight differences betweenthe input image and the anchor image. In an exemplary embodiment, thepart inspection system 100 performs a pixel-by-pixel comparison of theinput image and the anchor image to generate the output image. Invarious embodiments, the part inspection system 100 performs a semanticsegmentation between the input image and the anchor image. The terminalinspection system 100 may be used to analyze the digital images for oneparticular type of defect or for multiple, different types of defects.

In various embodiments, the part 102 may be an electrical terminal andmay be referred to hereinafter as a terminal 102 and the system 100 maycorrespondingly be referred to hereinafter as a terminal inspectionsystem 100. The terminal 102 may be a crimp terminal and the terminalinspection system 100 images the crimp barrel of the crimp terminal. Awire or cable may be received in the crimp barrel. The terminalinspection system 100 may image the crimp barrel prior to or after thewire or cable is received in the crimp barrel and/or after the crimpingprocess. The terminal 102 may be a power terminal configured to beterminated (for example, crimped) to a power cable. The system 100 mayimage other types of parts in alternative embodiments, such as anelectrical connector, a printed circuit board, or another type ofelectrical component. The terminal inspection system 100 may be used toinspect other types of parts in alternative embodiments.

The inspection system 100 is located at a part processing station 110.The processing station 110 is used to process the part, such as forming,connecting, attaching, assembling or otherwise processing the part 102.In various embodiments, the part processing station 110 includes one ormore machines at a processing station, such as a press machine, acrimping machine, a stamping machine, a drill press, a cutting machine,a loader, an assembly machine, and the like for processing the part 102.The inspection system 100 inspects the part 102 at the processingstation 110, such as at an inspection zone 112. In various embodiments,the processing station 110 is a crimp machine and the inspection zone112 is at a crimping zone of the crimp machine.

In an exemplary embodiment, the processing station 110 may include amanipulator 116 for moving the part 102 relative to the processingstation 110. For example, the manipulator 116 may include a feeder, aconveyor, a vibration tray, or another type of part manipulator formoving the part 102 into, within, or out of the processing station 110.In various embodiments, the manipulator 116 may include a feeder device,such as a feed finger used to advance the part 102, which is held on acarrier, such as a carrier strip. In other various embodiments, themanipulator 116 may include a multi-axis robot configured to move thepart 102 in three-dimensional space within the processing station 110.In other alternative embodiments, the part 102 may be manuallymanipulated and positioned at the inspection zone 112 by hand.

The terminal inspection system 100 includes a vision device 120 forimaging the terminal 102 at the inspection zone 112. The vision device120 may be mounted to a frame or other structure of the processingstation 110. The vision device 120 includes a camera 122 used to imagethe terminal 102. The camera 122 may be movable within the inspectionzone 112 relative to the terminal 102 (or the terminal 102 may bemovable relative to the camera 122) to change a working distance betweenthe camera 122 and the terminal 102, which may affect the clarity of theimage. Other types of vision devices may be used in alternativeembodiments, such as an infrared camera, or other type of camera thatimages at wavelengths other than the visible light spectrum.

In an exemplary embodiment, the terminal inspection system 100 includesa lens 124 at the camera 122 for controlling imaging. The lens 124 maybe used to focus the field of view. The lens 124 may be adjusted tochange a zoom level to change the field of view. The lens 124 isoperated to adjust the clarity of the image, such as to achieve highquality images.

In an exemplary embodiment, the terminal inspection system 100 includesa lighting device 126 to control lighting conditions in the field ofview of the vision device 120 at the inspection zone 112. The lightingdevice 126 may be adjusted to control properties of the lighting, suchas brightness, light intensity, light color, and the like. The lightingaffects the quality of the image generated by the vision device 120.

In an exemplary embodiment, the vision device 120 is operably coupled toa controller 130. The vision device 120 generates digital images andtransmits the digital images to the controller 130 as input images. Thecontroller 130 includes or may be part of a computer in variousembodiments. In an exemplary embodiment, the controller 130 includes auser interface 132 having a display 134 and a user input 136, such as akeyboard, a mouse, a keypad, or another type of user input.

In an exemplary embodiment, the controller 130 is operably coupled tothe vision device 120 and controls operation of the vision device 120.For example, the controller 130 may cause the vision device 120 to takean image or retake an image. In various embodiments, the controller 130may move the camera 122 to a different location, such as to image theterminal 102 from a different angle. The controller 130 may be operablycoupled to the lens 124 to change the imaging properties of the visiondevice 120, such as the field of view, the focus point, the zoom level,the resolution of the image, and the like. The controller 130 may beoperably coupled to the lighting device 126 to change the imagingproperties of the vision device 120, such as the brightness, theintensity, the color or other lighting properties of the lighting device126.

In an exemplary embodiment, the controller 130 is operably coupled tothe processing station 110, such as to control the processing machine ordevice. For example, the controller 130 may control the crimpingoperation, such as to operate the ram or press during the crimpingprocesses. In various embodiments, the controller 130 may be operablycoupled to the manipulator 116 to control operation of the manipulator116. For example, the controller 130 may cause the manipulator 116 tomove the terminal 102 into, within, or out of the processing station110. The controller 130 may cause the manipulator 116 to move theterminal 102 within the processing station 110, such as to move theterminal 102 relative to the camera 122.

The processing station 110 includes a terminal inspection module 150operably coupled to the controller 130. In various embodiments, theterminal inspection module 150 may be embedded in the controller 130 orthe terminal inspection module 150 and the controller 130 may beintegrated into a single computing device. The terminal inspectionmodule 150 receives the digital image of the terminal 102 from thevision device 120 as an input image. The terminal inspection module 150analyzes the digital image and generates outputs based on the analysis.The output is used to indicate to the user whether or not the terminalhas any defects. In an exemplary embodiment, the terminal inspectionmodule 150 includes one or more memories 152 for storing data and/orexecutable instructions and one or more processors 154 configured toexecute the executable instructions stored in the memory 152 to inspectthe terminal 102. In various embodiments, the memories 152 may storeanchor images (for example, baseline or template or “good” images) ofthe parts 102 for comparison and analysis.

In an exemplary embodiment, the terminal inspection module 150 includesan image comparison tool 160. The controller 130 sends the input imageand the corresponding anchor image to the image comparison tool 160 foranalysis. The image comparison tool 160 compares the input image withthe anchor image to determine if the terminal has any defects. In anexemplary embodiment, the image comparison tool 160 performs a semanticsegmentation between the input image and the anchor image to identifydefects. For example, the image comparison tool 160 performs apixel-by-pixel comparison of the input image and the anchor image. In anexemplary embodiment, the image comparison tool 160 performs imagesubtraction between the input image and the anchor image to identifydifferences corresponding to defects, if any. The image comparison tool160 may performs an absolute image difference between the input imageand the anchor image to identify differences corresponding to defects,if any. The image comparison tool 160 may include a matching algorithmfor matching the input image to the anchor image to identify differencescorresponding to defects.

The terminal inspection module 150 generates an output image based onprocessing by the image comparison tool 160. The output image highlightsdifferences between the input image and the anchor image. For example,the output image may highlight differences by displaying pixels withoutdifferences with a first color (for example, black pixels) in the outputimage and displaying pixels with differences with a second color (forexample, white pixels) in the output image. The output image may overlayone or more defect identifiers on the output image at any identifieddefect locations. For example, the defect identifiers may be boundingboxes or other types of identifiers. If no defects are detected, thenthe output image does not include any defect identifiers. For example,the output image may be a single color (for example, black). The imagecomparison tool 160 may filter the data to remove noise for the outputimage.

In an exemplary embodiment, the image comparison tool 160 of theterminal inspection module 150 may include an artificial neural networkarchitecture for image comparison. For example, the image comparisontool 160 of the terminal inspection module 150 may include a U-netnetwork architecture or another type of network architecture, such as atruncated U-net or an alternate NN architecture, to compare the inputimage and the anchor image to generate the output image. In othervarious embodiments, the terminal inspection module may use a binaryclassifier architecture. In an exemplary embodiment, the one or more ofthe memories 152 of the terminal inspection module 150 stores the neuralnetwork architecture. The neural network architecture may have aplurality of convolutional layers, a plurality of pooling layers, and anoutput layer. The one or more processors 154 associated with theterminal inspection module 150 are configured to analyze the digitalimage through the layers of the neural network architecture. In anexemplary embodiment, the neural network architecture is stored asexecutable instructions in the memory 152. The processor 154 uses theneural network architecture by executing the stored instructions. In anexemplary embodiment, the neural network architecture may be a machinelearning artificial intelligence (AI) module.

In an exemplary embodiment, the controller 130 includes or is coupled toa training module 180 for training the terminal inspection module 150.In various embodiments, the training module 180 may be part of thecontroller 130 such that training is performed on the controller 130(for example, using internal processors). In other embodiments, thetraining module 180 may be performed on another machine separate fromthe controller 130 and the training data is communicated to thecontroller 130. The training module 180 includes a training data set totrain the terminal inspection module 150. The training data set mayinclude one or more anchor images, such as anchor images of differentparts that may be processed at the processing station 110. The trainingdata set may include a plurality of positive images and a plurality ofnegative images. The positive images represent “good” images and areused to train the terminal inspection module 150 various features orcharacteristics that are acceptable to pass the images as being goodimages. For example, the terminal inspection module 150 may be trainedto ignore certain types of differences when highlighting differences inthe output image. In various embodiments, differences relating to thematerials of the parts or the background structures between the inputimage and the anchor image may be ignored. In various embodiments,differences relating to positional differences between the parts and thebackground structures between the input image and the anchor image maybe ignored. There may be angular or positional allowances or limits tosuch positional differences which may be trained by the training module180. The negative images represent “bad” images and are used to trainthe terminal inspection module 150 various features or characteristicsthat are unacceptable, and thus fail the images as being bad images. Forexample, the terminal inspection module 150 may be trained to focus oncertain types of differences when highlighting differences in the outputimage. In various embodiments, differences in the shape of the part inthe input image and the anchor image may be important and highlighted inthe output image. In various embodiments, differences relating toforeign objects in or around the part in the input image may beimportant and highlighted in the output image. In an exemplaryembodiment, the training data set may be based on digitally generatedimages rather than actual images of actual parts. As such, the trainingmay be accomplished quickly and easily with less operator training time.The processing time of the system may be reduced compared to systemsthat use other types of neural networks.

During operation of the terminal inspection module 150, the terminalinspection module 150 runs programs to analyze the image. For example,the terminal inspection module 150 operates programs stored in thememory 152 on the processor 154. The processor 154 may include computersystem executable instructions, such as program modules, being executedby a computer system. Generally, program modules may include routines,programs, objects, components, logic, data structures, and so on thatperform particular tasks or implement particular abstract data types.The computing may be practiced in distributed cloud computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed cloudcomputing environment, program modules may be located in both local andremote computer system storage media including memory storage devices.

In an exemplary embodiment, various components may be communicativelycoupled by a bus, such as the memory 152 and the processors 154. The busrepresents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures.

The terminal inspection module 150 may include a variety of computersystem readable media. Such media may be any available media that isaccessible by the terminal inspection module 150, and it includes bothvolatile and non-volatile media, removable and non-removable media. Thememory 152 can include computer system readable media in the form ofvolatile memory, such as random-access memory (RAM) and/or cache memory.The terminal inspection module 150 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, a storage system can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to the bus by one or more datamedia interfaces. The memory 152 may include at least one programproduct having a set (e.g., at least one) of program modules that areconfigured to carry out the functions of embodiments of the invention.

One or more programs may be stored in the memory 152, as well as anoperating system, one or more application programs, other programmodules, and program data. Each of the operating system, one or moreapplication programs, other program modules, and program data or somecombination thereof, may include an implementation of a networkingenvironment. Program modules generally carry out the functions and/ormethodologies of embodiments of the subject matter described herein.

The terminal inspection module 150 may also communicate with one or moreexternal devices, such as through the controller 130. The externaldevices may include a keyboard, a pointing device, a display, and thelike; one or more devices that enable a user to interact with system;and/or any devices (e.g., network card, modem, etc.) that enable thesystem to communicate with one or more other computing devices. Suchcommunication can occur via Input/Output (I/O) interfaces. Still yet,terminal inspection module 150 can communicate with one or more networkssuch as a local area network (LAN), a general wide area network (WAN),and/or a public network (e.g., the Internet) via network adapter. Otherhardware and/or software components could be used in conjunction withthe system components shown herein. Examples, include, but are notlimited to microcode, device drivers, redundant processing units, andexternal disk drive arrays, RAID systems, tape drives, and data archivalstorage systems, etc.

The term “processor” as used herein is intended to include anyprocessing device, such as, for example, one that includes a CPU(central processing unit) and/or other forms of processing circuitry.Further, the term “processor” may refer to more than one individualprocessor. The term “memory” is intended to include memory associatedwith a processor or CPU, such as, for example, RAM (random accessmemory), ROM (read only memory), a fixed memory device (for example,hard drive), a removable memory device (for example, diskette), a flashmemory and the like. In addition, the phrase “input/output interface” asused herein, is intended to contemplate an interface to, for example,one or more mechanisms for inputting data to the processing unit (forexample, mouse), and one or more mechanisms for providing resultsassociated with the processing unit (for example, printer). Theprocessor 154, memory 152, and input/output interface can beinterconnected, for example, via the bus as terminal of a dataprocessing unit. Suitable interconnections, for example via bus, canalso be provided to a network interface, such as a network card, whichcan be provided to interface with a computer network, and to a mediainterface, such as a diskette or CD-ROM drive, which can be provided tointerface with suitable media.

Accordingly, computer software including instructions or code forperforming the methodologies of the subject matter herein may be storedin one or more of the associated memory devices (for example, ROM, fixedor removable memory) and, when ready to be utilized, loaded in terminalor in whole (for example, into RAM) and implemented by a CPU. Suchsoftware could include, but is not limited to, firmware, residentsoftware, microcode, and the like.

It should be noted that any of the methods described herein can includean additional step of providing a system comprising distinct softwaremodules embodied on a computer readable storage medium; the modules caninclude, for example, any or all of the appropriate elements depicted inthe block diagrams and/or described herein; by way of example and notlimitation, any one, some or all of the modules/blocks and orsub-modules/sub-blocks described. The method steps can then be carriedout using the distinct software modules and/or sub-modules of thesystem, as described above, executing on one or more hardwareprocessors. Further, a computer program product can include acomputer-readable storage medium with code adapted to be implemented tocarry out one or more method steps described herein, including theprovision of the system with the distinct software modules.

FIG. 2 is a perspective view of the terminal inspection system 100 inaccordance with an exemplary embodiment. The terminal inspection system100 is used for inspecting the terminal 102 at the crimping zone. Theterminal inspection system 100 is used with a crimp machine 200 at theprocessing station 110. The crimp machine 200 is used to crimp theterminal 102 to a wire or cable (not shown). The terminal 102 includes acrimp barrel 202 having arms 204, 206 configured to be crimped aroundthe cable by the crimp machine 200. In an exemplary embodiment, thevision device 120 images the terminal 102 prior to the crimpingoperation. The vision device 120 may additionally or alternatively imagethe terminal 102 after the crimping operation.

The crimp machine 200 includes an anvil 210 having a terminal supportsurface 212 at a crimp zone 214. The terminal support surface 212supports the terminal 102 during the crimping operation. The terminalsupport surface 212 may be flat. Alternatively, the terminal supportsurface 212 may be curved to position the terminal 102 in the crimp zone214.

The crimp machine 200 includes a press 220 having an actuator 222 and aram 224 operably coupled to the actuator 222. The press 220 includes acrimp die 226 coupled to the ram 224. The actuator 222 moves the ram 224in a pressing direction (for example, downward) during the crimpingoperation to move the crimp die 226 relative to the anvil 210. The crimpdie 226 has a forming surface 228 configured to crimp the arms 204, 206of the terminal 102 to the cable in the crimp zone 214 during thecrimping operation. The crimp die 226 may form an F-crimp in variousembodiments.

The terminal inspection system 100 images the terminal 102 to inspectthe terminal 102 for defects, such as defects with the terminal itselfor defects with loading or positioning of the part in a processingmachine. For example, the crimp barrel 202 of the terminal 102 may beimaged to determine that the correct type of terminal 102 is positionedin the crimp zone 214 and/or the correct size of terminal 102 ispositioned in the crimp zone 214 and/or the terminal 102 is properlypositioned on the terminal support surface 212. The image of theterminal 102 is fed to the terminal inspection module 150 as an inputimage and compared to an anchor image to identify defects (for example,to identify differences). The defects are output and may be used tocontrol the crimping operation. For example, the defects may beidentified on an output image which is presented to an operator. Theoperator may determine if the crimping operation should proceed or ceasebased on the output image. For example, if differences are identified,the operator may stop the crimping operation, such as to reposition theterminal 102 or change out the terminal 102. In various embodiments, theoutput may be used by the controller 130 to automatically control thecrimping operation, such as without operator intervention. For example,the crimping process may automatically proceed if no defects areidentified (for example, no differences between the input image and theanchor image). The terminal may be automatically repositioned or removedif defects are identified (for example, differences are highlightedbetween the input image and the anchor image).

FIG. 3 illustrates an anchor image 170 of the crimp zone 214 inaccordance with an exemplary embodiment. FIG. 4 illustrates a “bad”input image 172 of the crimp zone 214 in accordance with an exemplaryembodiment showing a defect 182 in the form of a foreign object in thecrimp barrel of the terminal. FIG. 5 illustrates a “bad” input image 174of the crimp zone 214 in accordance with an exemplary embodiment showinga defect 184 in the form of the terminal improperly positioned in thecrimp zone. FIG. 6 illustrates a “bad” input image 176 of the crimp zone214 in accordance with an exemplary embodiment showing a defect 186 inthe form of an improperly shaped terminal in the crimp zone. Theterminal inspection system 100 is configured to identify the defects bycomparing the images to the anchor image (FIG. 3 ) and highlighting thedifferences (the defect) in an output image.

FIG. 7 is a schematic illustration of the terminal inspection module 150in accordance with an exemplary embodiment. FIG. 7 shows an input image300, an anchor image 302 and an output image 304. FIG. 7 shows anexemplary image comparison tool 160 used to compare the input image 300,the anchor image 302 and the output image 304. In the illustratedembodiment, the image comparison tool 160 is a U-net networkarchitecture comparing the input image 300 and the anchor image 302 togenerate the output image 304. However, the image comparison tool 160may use other image comparison techniques or neural networks to comparethe images and generate an output image. In various embodiments, theimage comparison tool 160 may perform a semantic segmentation betweenthe input image 300 and the anchor image 302 to identify defects. Forexample, the image comparison tool 160 performs a pixel-by-pixelcomparison of the input image 300 and the anchor image 302.

The image comparison tool 160 compares the input image 300 with theanchor image 302 to determine if the part/terminal has any defects. Theterminal inspection module 150 generates the output image 304 based onprocessing by the image comparison tool 160. The output image 304highlights differences between the input image 300 and the anchor image302. For example, the output image 304 may highlight differences bydisplaying pixels without differences with a first color (for example,black pixels) in the output image 304 and displaying pixels withdifferences with a second color (for example, white pixels) in theoutput image 304.

The output image may overlay one or more defect identifiers on theoutput image at any identified defect locations. For example, the defectidentifiers may be bounding boxes or other types of identifiers. If nodefects are detected, then the output image does not include any defectidentifiers. For example, the output image may be a single color (forexample, black).

The terminal inspection module 150 may ignore certain types ofdifferences when highlighting differences in the output image 304. Invarious embodiments, differences relating to the materials of the partsor the background structures between the input image 300 and the anchorimage 302 may be ignored. In various embodiments, differences relatingto positional differences of the parts between the input image 300 andthe anchor image 302 may be ignored. However, there may be angular orpositional allowances or limits to such positional differences which maybe trained by the training module 180.

The terminal inspection module 150 may be trained to focus on certaintypes of differences to highlight and identify as defects. In variousembodiments, differences in the shape of the part in the input image 300and the anchor image 302 may be important and highlighted in the outputimage. In various embodiments, differences relating to foreign objectsin or around the part in the input image 300 may be important andhighlighted in the output image 304.

In an exemplary embodiment, the controller 130 uses the training module180 (FIG. 1 ) for training the terminal inspection module 150. Thetraining module may supply the training data sets (examples of trainingdata sets are shown in FIGS. 8-12 ) to the image comparison tool 160 totrain the terminal inspection module 150. Each training data setincludes an anchor image, a positive input image and a negative inputimage. The image comparison tool 160 analyzes the anchor image comparedto the positive input image and then analyzes the anchor image comparedto the negative input image. Many training data sets may be analyzed bythe image comparison tool 160 to train the terminal inspection module150.

FIG. 8 illustrates a training data set 400 for training the terminalinspection module 150 using the image comparison tool 160 (shown in FIG.7 ). The training data set 400 includes an anchor image 402, a positive(“good”) input image 404, and a negative (“bad”) input image 406.

In various embodiments, differences relating to the materials of theparts or the background structures between the input image 404 and theanchor image 402 may be ignored. In the illustrated embodiment, thematerial of the part is different in the positive input image 404, whichis used to train the image comparison tool 160 to ignore differencesrelating to material of the part.

In various embodiments, differences relating to positional differencesof the parts between the input image 404 and the anchor image 402 may beignored. In the illustrated embodiment, the position of the part in theinput image 404 is shown shifted slightly upward relative to theposition of the part in the anchor image 402, which is used to train theimage comparison tool 160 to ignore positional differences of the partrelative to the background structure.

In various embodiments, differences relating to foreign objects in oraround the part in the input image 406 may be important. In theillustrated embodiment, a foreign object 408 is shown in the negativeinput image 406, which is used to train the image comparison tool 160 tohighlight differences relating to foreign objects.

FIG. 9 illustrates a training data set 410 for training the terminalinspection module 150 using the image comparison tool 160 (shown in FIG.7 ). The training data set 410 includes an anchor image 412, a positive(“good”) input image 414, and a negative (“bad”) input image 416.

In various embodiments, differences relating to the materials of theparts or the background structures between the input image 414 and theanchor image 412 may be ignored. In the illustrated embodiment, thematerial of the part is different in the positive input image 414, whichis used to train the image comparison tool 160 to ignore differencesrelating to material of the part.

In various embodiments, differences relating to positional differencesof the parts between the input image 414 and the anchor image 412 may beignored. In the illustrated embodiment, the position of the part in theinput image 414 is shown shifted slightly upward relative to theposition of the part in the anchor image 412, which is used to train theimage comparison tool 160 to ignore positional differences of the partrelative to the background structure.

In various embodiments, differences relating to foreign objects in oraround the part in the input image 416 may be important. In theillustrated embodiment, a foreign object 418 is shown in the negativeinput image 416, which is used to train the image comparison tool 160 tohighlight differences relating to foreign objects.

FIG. 10 illustrates a training data set 420 for training the terminalinspection module 150 using the image comparison tool 160 (shown in FIG.7 ). The training data set 420 includes an anchor image 422, a positive(“good”) input image 424, and a negative (“bad”) input image 426.

In various embodiments, differences relating to the materials of theparts or the background structures between the input image 424 and theanchor image 422 may be ignored. In the illustrated embodiment, thematerial of the part is different in the positive input image 424, whichis used to train the image comparison tool 160 to ignore differencesrelating to material of the part.

In various embodiments, differences relating to positional differencesof the parts between the input image 424 and the anchor image 422 may beignored. In the illustrated embodiment, the position of the part in theinput image 424 is shown shifted slightly upward relative to theposition of the part in the anchor image 422, which is used to train theimage comparison tool 160 to ignore positional differences of the partrelative to the background structure.

In various embodiments, differences relating to change in shape of thepart in the input image may be important. In the illustrated embodiment,the part in the negative input image 426 has a different shape than thepart in the anchor image 422, which is used to train the imagecomparison tool 160 to highlight differences relating to change inshape.

FIG. 11 illustrates a training data set 430 for training the terminalinspection module 150 using the image comparison tool 160 (shown in FIG.7 ). The training data set 430 includes an anchor image 432, a positive(“good”) input image 434, and a negative (“bad”) input image 436.

In various embodiments, differences relating to the materials of theparts or the background structures between the input image 434 and theanchor image 432 may be ignored. In the illustrated embodiment, thematerial of the part is different in the positive input image 434, whichis used to train the image comparison tool 160 to ignore differencesrelating to material of the part.

In various embodiments, differences relating to positional differencesof the parts between the input image 434 and the anchor image 432 may beignored. In the illustrated embodiment, the position of the part in theinput image 434 is shown shifted slightly upward relative to theposition of the part in the anchor image 432, which is used to train theimage comparison tool 160 to ignore positional differences of the partrelative to the background structure.

In various embodiments, differences relating to change in shape of thepart in the input image may be important. In the illustrated embodiment,the part in the negative input image 436 has a different shape than thepart in the anchor image 432, which is used to train the imagecomparison tool 160 to highlight differences relating to change inshape.

FIG. 12 illustrates a training data set 440 for training the terminalinspection module 150 using the image comparison tool 160 (shown in FIG.7 ). The training data set 440 includes an anchor image 442 and an inputimage 444. In various embodiments, the training images used by thetraining module may be three-dimensional images. The angle of imagingmay be similar to the angle used by the vision device 120 (shown in FIG.2 ) to improve training for the crimp machine 200 (shown in FIG. 2 ).

FIG. 13 is a flow chart of a terminal inspection method in accordancewith an exemplary embodiment. The method includes training 500 aterminal inspection module of a controller using a training module. Thetraining may be performed using a training data set to train theterminal inspection module. The training data set may include an anchorimage, one or more positive/good images, and one or more negative/badimages. The training module may train the terminal inspection module toignore differences relating to material differences between the inputimage and the anchor image. The training module may train the terminalinspection module to ignore differences relating to positionaldifferences between the input image and the anchor image. The trainingmodule may train the terminal inspection module to identify differencesrelating to foreign objections identified in the input image. Thetraining module may train the terminal inspection module to identifydifferences relating to differences in shapes between the terminal inthe input image and the terminal in the anchor image. The trainingmodule may train the terminal inspection module using two-dimensionalimages. The training module may train the terminal inspection moduleusing three-dimensional images.

The method includes imaging 510 a terminal using a vision device andgenerating 512 an input image. The vision device may include a cameraimaging a crimp zone of a crimp machine. The input image may be an imageof a terminal being inspected.

The method includes comparing 520 the input image to an anchor image. Inan exemplary embodiment, the anchor image may be stored in memory andrepresents a “good” or ideal image. The anchor image may be an image ofa terminal arranged in a crimp zone in various embodiments.

The method includes performing 530 semantic segmentation between theinput image and the anchor image. The semantic segmentation may beperformed by an image comparison tool, such as an artificial neuralnetwork architecture for image comparison. For example, the imagecomparison tool may include a U-net network architecture. The semanticsegmentation may include a pixel-by-pixel comparison of the input imageand the anchor image.

The method includes generating 540 an output image showing differencesbetween the input image and the anchor image to identify any potentialdefects, if any defects are present. The output image is used toindicate to the user whether or not the terminal has any defects. Theoutput image may highlight differences between the input image and theanchor image by displaying pixels without differences with a first colorin the output image and displaying pixels with differences with a secondcolor in the output image. In various embodiments, the output image mayinclude overlaid defect identifiers, such as bounding boxes, at anyidentified defect locations. If no defects are detected, then the outputimage may not include any highlighted differences. For example, theentire output may be a single color, such as block.

It is to be understood that the above description is intended to beillustrative, and not restrictive. For example, the above-describedembodiments (and/or aspects thereof) may be used in combination witheach other. In addition, many modifications may be made to adapt aparticular situation or material to the teachings of the inventionwithout departing from its scope. Dimensions, types of materials,orientations of the various components, and the number and positions ofthe various components described herein are intended to defineparameters of certain embodiments, and are by no means limiting and aremerely exemplary embodiments. Many other embodiments and modificationswithin the spirit and scope of the claims will be apparent to those ofskill in the art upon reviewing the above description. The scope of theinvention should, therefore, be determined with reference to theappended claims, along with the full scope of equivalents to which suchclaims are entitled. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Moreover, in the following claims, theterms “first,” “second,” and “third,” etc. are used merely as labels,and are not intended to impose numerical requirements on their objects.Further, the limitations of the following claims are not written inmeans-plus-function format and are not intended to be interpreted basedon 35 U.S.C. § 112(f), unless and until such claim limitations expresslyuse the phrase “means for” followed by a statement of function void offurther structure.

What is claimed is:
 1. A terminal inspection system for a crimp machinecomprising: a vision device configured to image a terminal beinginspected and generate a digital image of the terminal; a terminalinspection module communicatively coupled to the vision device andreceiving the digital image of the terminal as an input image, theterminal inspection module having an anchor image, the terminalinspection module comparing the input image to the anchor image andperforming semantic segmentation between the input image and the anchorimage to generate an output image, the output image showing differencesbetween the input image and the anchor image to identify any potentialdefects.
 2. The terminal inspection system of claim 1, wherein theterminal inspection module uses an artificial neural network for theimage comparison.
 3. The terminal inspection system of claim 1, whereinthe terminal inspection module directly compares the input image withthe anchor image.
 4. The terminal inspection system of claim 1, whereinthe semantic segmentation performs a pixel-by-pixel comparison of theinput image and the anchor image.
 5. The terminal inspection system ofclaim 1, wherein the output image highlights differences between theinput image and the anchor image by displaying pixels withoutdifferences with a first color in the output image and displaying pixelswith differences with a second color in the output image.
 6. Theterminal inspection system of claim 1, wherein the terminal inspectionmodule includes a U-net network architecture for comparing the inputimage and the anchor image and generating the output image.
 7. Theterminal inspection system of claim 1, wherein the terminal inspectionmodule includes a training module using a training data set to train theterminal inspection module, the training data set including the anchorimage, a plurality of positive images, and a plurality of negativeimages.
 8. The terminal inspection system of claim 1, wherein theterminal inspection module includes a training module training theterminal inspection module to ignore differences relating to materialdifferences between the input image and the anchor image.
 9. Theterminal inspection system of claim 1, wherein the terminal inspectionmodule includes a training module training the terminal inspectionmodule to ignore differences relating to positional differences betweenthe input image and the anchor image.
 10. The terminal inspection systemof claim 1, wherein the terminal inspection module includes a trainingmodule training the terminal inspection module to identify differencesrelating to foreign objections identified in the input image.
 11. Theterminal inspection system of claim 1, wherein the terminal inspectionmodule includes a training module training the terminal inspectionmodule to identify differences relating to differences in shapes betweenthe terminal in the input image and the terminal in the anchor image.12. The terminal inspection system of claim 1, wherein the terminalinspection module includes a training module for training the terminalinspection module, the images used by the training module beingtwo-dimensional images.
 13. The terminal inspection system of claim 1,wherein the terminal inspection module includes a training module fortraining the terminal inspection module, the images used by the trainingmodule being three-dimensional images.
 14. A crimp machine comprising:an anvil having a terminal support surface at a crimp zone configured tosupport a terminal during a crimping operation; a press having anactuator, a ram operably coupled to the actuator, and a crimp diecoupled to the ram, the actuator moving the ram in a pressing directionduring the crimping operation to move the crimp die relative to theanvil, the crimp die having a forming surface configured to crimp theterminal in the crimp zone during the crimping operation; and a terminalinspection system including a vision device and a terminal inspectionmodule communicatively coupled to the vision device, the vision deviceconfigured to image the terminal at the crimp zone and generate adigital image of the terminal, the terminal inspection module receivingthe digital image of the terminal as an input image, the terminalinspection module having an anchor image, the terminal inspection modulecomparing the input image to the anchor image and performing semanticsegmentation between the input image and the anchor image to generate anoutput image, the output image showing differences between the inputimage and the anchor image to identify any potential defects.
 15. Aterminal inspection method comprising: imaging a terminal using a visiondevice to generate an input image; comparing the input image to ananchor image; performing semantic segmentation between the input imageand the anchor image; generating an output image showing differencesbetween the input image and the anchor image to identify any potentialdefects.
 16. The terminal inspection method of claim 15, wherein saidcomparing the input image to the anchor image comprises a pixel-by-pixelcomparison of the input image and the anchor image.
 17. The terminalinspection method of claim 15, wherein the output image highlightsdifferences between the input image and the anchor image by displayingpixels without differences with a first color in the output image anddisplaying pixels with differences with a second color in the outputimage.
 18. The terminal inspection method of claim 15, wherein saidcomparing the input image to the anchor image comprises processing theinput image and the anchor image through a U-net network architecture.19. The terminal inspection method of claim 15, further comprisingtraining a terminal inspection module used for the image comparison andthe output image generation, said training comprising: training theterminal inspection module to ignore differences relating to materialdifferences between the input image and the anchor image; training theterminal inspection module to ignore differences relating to positionaldifferences between the input image and the anchor image; training theterminal inspection module to identify differences relating to foreignobjections identified in the input image; and training the terminalinspection module to identify differences relating to differences inshapes between the terminal in the input image and the terminal in theanchor image.
 20. The terminal inspection method of claim 15, furthercomprising training a terminal inspection module used for the imagecomparison and the output image generation, said training includingtraining the terminal inspection module using three-dimensional images.